﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NetworkPower.Common
{
    public class ColorMapping
    {
        static Dictionary<short, string> SysColor = new Dictionary<short, string>();
        private static void Setup()
        {
            SysColor.Add(8, "BLACK");
            SysColor.Add(60, "BROWN");
            SysColor.Add(59, "OLIVE");
            SysColor.Add(58, "DARKGREEN");
            SysColor.Add(56, "TEAL");
            SysColor.Add(18, "DARKBLUE");
            SysColor.Add(62, "INDIGO");
            SysColor.Add(63, "DarkGray");
            SysColor.Add(16, "DARKRED");
            SysColor.Add(53, "ORANGE");
            SysColor.Add(19, "Gold");
            SysColor.Add(17, "GREEN");
            SysColor.Add(21, "TEAL");
            SysColor.Add(12, "BLUE");
            SysColor.Add(54, "SlateGray");
            SysColor.Add(23, "Silver");
            SysColor.Add(10, "RED");
            SysColor.Add(52, "Orange");
            SysColor.Add(50, "LIME");
            SysColor.Add(57, "SeaGreen");
            SysColor.Add(49, "AQUA");
            SysColor.Add(48, "LIGHTBLUE");
            SysColor.Add(20, "VIOLET");
            SysColor.Add(55, "LightGray");
            SysColor.Add(14, "PINK");
            SysColor.Add(51, "GOLD");
            SysColor.Add(13, "YELLOW");
            SysColor.Add(11, "GREEN");
            SysColor.Add(15, "TURQUOISE");
            SysColor.Add(40, "SKYBLUE");
            SysColor.Add(61, "PLUM");
            SysColor.Add(22, "LightGray");
            SysColor.Add(45, "ROSE");
            SysColor.Add(47, "TAN");
            SysColor.Add(43, "LightYellow");
            SysColor.Add(42, "LightGreen");
            SysColor.Add(41, "PaleTurquoise");
            SysColor.Add(44, "AliceBlue");
            SysColor.Add(46, "LAVENDER");
            SysColor.Add(9, "WHITE");
            SysColor.Add(24, "CornflowerBlue");
            SysColor.Add(26, "LEMONCHIFFON");
            SysColor.Add(25, "MAROON");
            SysColor.Add(28, "ORCHID");
            SysColor.Add(29, "CORAL");
            SysColor.Add(30, "ROYALBLUE");
            SysColor.Add(31, "CornflowerBlue");
            SysColor.Add(64, "WHITE");
        }

        public static string GetColor(short FFColor)
        {
            if (SysColor.Count == 0)
            {
                Setup();
            }

            if (SysColor.Keys.Contains(FFColor))
            {
                return SysColor[FFColor].ToString();
            }
            return string.Empty;
        }
    }
}
